Język SQL. Przyjazny podręcznik, wydanie III
Larry Rockoff


Skrypt instalacyjny Microsoft SQL Server.


--------------------------
JAK KORZYSTAĆ Z TEGO PLIKU
--------------------------

Ten skrypt instalacyjny umożliwia utworzenie tabel z danymi potrzebnymi do wykonania zapytań opisanych w tej książce. Skrypt zawiera instrukcje CREATE TABLE służące do tworzenia tabel oraz instrukcje INSERT, które umożliwiają wstawienie danych do tych tabel. Tabele zostały wymienione w porządku alfabetycznym. Instrukcje DROP TABLE służą do usuwania danej tabeli, jeśli już istniała. Przed wykonaniem skryptów należy utworzyć bazę danych. Po utworzeniu bazy wklej poniższy skrypt do okna zapytań w MySQL Workbench i wykonaj go.

Najpierw należy zainstalować dwa komponenty:

1. MySQL Community Server
2. MySQL Workbench

W dodatku B książki "Język SQL. Przyjazny podręcznik. Wydanie III" znajdziesz wskazówki dotyczące instalowania tych komponentów i tworzenia bazy danych.


-------------------
SKRYPT INSTALACYJNY
-------------------


----------------------------------------
-- Tabela Aktorzy
-- Do tej tabeli odwołuje się rozdział 6
----------------------------------------


DROP TABLE IF EXISTS Aktorzy;

CREATE TABLE Aktorzy
(IDAktora INT NOT NULL,
Imię VARCHAR(30) NULL,
Nazwisko VARCHAR(30) NULL);

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (1, 'Cary', 'Grant');

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (2, 'Mary', 'Steenburgen');

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (3, 'Jon', 'Voight');

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (4, 'Dustin', 'Hoffman');

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (5, 'John', 'Cusack');

INSERT INTO Aktorzy (IDAktora, Imię, Nazwisko)
VALUES (6, 'Gary', 'Cooper');


----------------------------------------
-- Tabela Książki
-- Do tej tabeli odwołuje się rozdział 6
----------------------------------------


DROP TABLE IF EXISTS Książki;

CREATE TABLE Książki
(IDKsiążki INT NOT NULL,
Tytuł VARCHAR(30) NULL,
Autor VARCHAR (30) NULL,
SprzedażWBieżącymMiesiącu INT NULL);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (1, 'Duma i uprzedzenie', 'Austen', 15);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (2, 'Folwark zwierzęcy', 'Orwell', 7);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (3, 'Kupiec wenecki', 'Szekspir', 5);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (4, 'Romeo i Julia', 'Szekspir', 8);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (5, 'Oliver Twist', 'Dickens', 3);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (6, 'Kandyd', 'Wolter', 9);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (7, 'Szkarłatna litera', 'Hawthorne', 12);

INSERT INTO Książki (IDKsiążki, Tytuł, Autor, SprzedażWBieżącymMiesiącu) 
VALUES (8, 'Hamlet', 'Szekspir', 2);


-----------------------------------------
-- Tabela Kontrahenci
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


DROP TABLE IF EXISTS Kontrahenci;

CREATE TABLE Kontrahenci
(IDKontrahenta INT NOT NULL AUTO_INCREMENT,
ImięKontrahenta VARCHAR(30) NULL,
NazwiskoKontrahenta VARCHAR(30) NULL,
Województwo VARCHAR(10) NULL,
PRIMARY KEY (IDKontrahenta));

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Janusz', 'Bentlewski', 'POM');

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Michał', 'Rajewski', 'MAZ');

INSERT INTO Kontrahenci (ImięKontrahenta, NazwiskoKontrahenta, Województwo) 
VALUES ('Emilia', 'Pieczyńska', 'LBU');


-----------------------------------------
-- Tabela KoloryKoszulek
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


DROP TABLE IF EXISTS KoloryKoszulek;

CREATE TABLE KoloryKoszulek
(IDKoloru INT NOT NULL,
Kolor VARCHAR(10) NULL);

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (1, 'Czerwony');

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (2, 'Niebieski');

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (3, 'Zielony');

INSERT INTO KoloryKoszulek (IDKoloru, Kolor) 
VALUES (4, 'Żółty');


----------------------------------------
-- Tabela ListaKlientów
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


DROP TABLE IF EXISTS ListaKlientów;

CREATE TABLE ListaKlientów
(IDKlienta INT NOT NULL,
Płeć VARCHAR(5) NULL,
Wiek INT NULL,
Dochód INT NULL);

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (1, 'M', 55, 80000);

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (2, 'K', 25, 65000);

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (3, 'M', 35, 40000);

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (4, 'K', 42, 90000);

INSERT INTO ListaKlientów (IDKlienta, Płeć, Wiek, Dochód) 
VALUES (5, 'K', 27, 25000);


------------------------------------------------------------
-- Tabela Klienci
-- Do tej tabeli odwołują się rozdziały 1, 2, 11, 12 oraz 13
------------------------------------------------------------


DROP TABLE IF EXISTS Klienci;

CREATE TABLE Klienci
(IDKlienta INT NOT NULL,
ImięKlienta VARCHAR(30) NULL,
NazwiskoKlienta VARCHAR(30) NULL)

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (1, 'Sylwia', 'Dudziak');

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (2, 'Ryszard', 'Wieczorek');

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (3, 'Paweł', 'Janas');

INSERT INTO Klienci (IDKlienta, ImięKlienta, NazwiskoKlienta)
VALUES (4, 'Szymon', 'Majkowski');


----------------------------------------
-- Tabela Opłaty
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


DROP TABLE IF EXISTS Opłaty;

CREATE TABLE Opłaty
(IDOpłaty INT NOT NULL,
Uczeń VARCHAR(30) NULL,
RodzajOpłaty VARCHAR(30) NULL,
Opłata INT NULL);

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (1, 'Grzegorz', 'Siłownia', 30);

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (2, 'Grzegorz', 'Obiad', 10);

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (3, 'Grzegorz', 'Wycieczka', 8);

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (4, 'Joanna', 'Siłownia', 30);

INSERT INTO Opłaty (IDOpłaty, Uczeń, RodzajOpłaty, Opłata) 
VALUES (5, 'Julia', 'Obiad', 10);


----------------------------------------
-- Tabela Punktacja
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


DROP TABLE IF EXISTS Punktacja;

CREATE TABLE Punktacja
(IDPunktacji INT NOT NULL,
Uczeń VARCHAR(30) NULL,
OcenianaPraca VARCHAR(30) NULL,
LiczbaPunktów DECIMAL NULL,
LiczbaLatNauki INT NULL);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (1, 'Izabela', 'Sprawdzian', 92, 7);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (2, 'Izabela', 'Sprawdzian', 95, 7);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (3, 'Izabela', 'Praca domowa', 84, 7);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (4, 'Hanna', 'Sprawdzian', 62, 8);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (5, 'Hanna', 'Sprawdzian', 81, 8);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaLatNauki) 
VALUES (6, 'Hanna', 'Praca domowa', 8);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (7, 'Piotr', 'Sprawdzian', 58, 7);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (8, 'Piotr', 'Sprawdzian', 74, 7);

INSERT INTO Punktacja (IDPunktacji, Uczeń, OcenianaPraca, LiczbaPunktów, LiczbaLatNauki) 
VALUES (9, 'Piotr', 'Praca domowa', 88, 7);


---------------------------------------------
-- Tabela ArtykułySpożywcze
-- Do tej tabeli odwołują się rozdziały 8 i 9
---------------------------------------------


DROP TABLE IF EXISTS ArtykułySpożywcze;

CREATE TABLE ArtykułySpożywcze
(IDArtykułu INT NOT NULL,
KodKategorii VARCHAR(5) NULL,
Opis VARCHAR (30) NULL);

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (1, 'O', 'Jabłko');

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (2, 'O', 'Pomarańcza');

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (3, 'P', 'Musztarda');

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (4, 'W', 'Marchew');

INSERT INTO ArtykułySpożywcze (IDArtykułu, KodKategorii, Opis) 
VALUES (5, 'N', 'Woda');


----------------------------------------
-- Tabela KategorieArtykułówSpożywczych
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


DROP TABLE IF EXISTS KategorieArtykułówSpożywczych;

CREATE TABLE KategorieArtykułówSpożywczych
(IDArtykułu INT NOT NULL,
Owoc VARCHAR(5) NULL,
Warzywo VARCHAR (5) NULL,
Przyprawa VARCHAR (5) NULL,
Napój VARCHAR (5) NULL,
Opis VARCHAR (30) NULL);

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (1, 'X', ' ', ' ', ' ', 'Jabłko');

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (2, 'X', ' ', ' ', ' ', 'Pomarańcza');

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (3, ' ', ' ', 'X', ' ', 'Musztarda');

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (4, ' ', 'X', ' ', ' ', 'Marchew');

INSERT INTO KategorieArtykułówSpożywczych (IDArtykułu, Owoc, Warzywo, Przyprawa, Napój, Opis) 
VALUES (5, ' ', ' ', ' ', 'X', 'Woda');


-----------------------------------------
-- Tabela WykazProduktów
-- Do tej tabeli odwołuje się rozdział 10
-----------------------------------------


DROP TABLE IF EXISTS WykazProduktów;

CREATE TABLE WykazProduktów
(IDProduktu INT NOT NULL,
Kategoria VARCHAR(30) NULL,
Podkategoria VARCHAR(30) NULL,
Produkt VARCHAR(30) NULL,
LiczbaSztuk INT NULL)

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (1, 'Meble', 'Krzesła', 'Fotel prezesowski', 3);

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (2, 'Meble', 'Krzesła', 'Fotel biurowy', 2);

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (3, 'Meble', 'Biurka', 'Studenckie biurko komputerowe', 4);

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (4, 'ArtykułyPapiernicze', 'PapieryDoDrukarki', 'Papier uniwersalny', 5);

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (5, 'ArtykułyPapiernicze', 'PapieryDoDrukarki', 'Papier do drukarek laserowych', 2);

INSERT INTO WykazProduktów (IDProduktu, Kategoria, Podkategoria, Produkt, LiczbaSztuk) 
VALUES (6, 'ArtykułyPapiernicze', 'Notatniki', 'Zeszyt w linie', 4);


----------------------------------------------
-- Tabela Filmy
-- Do tej tabeli odwołują się rozdziały 6 i 12
----------------------------------------------


DROP TABLE IF EXISTS Filmy;

CREATE TABLE Filmy
(IDFilmu INT NOT NULL,
TytułFilmu VARCHAR(35) NULL,
Klasyfikacja VARCHAR(30) NULL);

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (1, 'To właśnie miłość', 'R');

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (2, 'Północ – północny zachód', 'brak kategorii')

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (3, 'Miłość i śmierć', 'PG');

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (4, 'Truman Show', 'PG');

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (5, 'Taka miłość się nie zdarza', 'R');

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (6, 'Do diabła z miłością', 'PG-13');

INSERT INTO Filmy (IDFilmu, TytułFilmu, Klasyfikacja) 
VALUES (7, 'Gdzie jest Nemo?', 'G');


-----------------------------------------
-- Tabela NowiKontrahenci
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


DROP TABLE IF EXISTS NowiKontrahenci;

CREATE TABLE NowiKontrahenci
(Województwo VARCHAR(10) NULL,
Nazwa1 VARCHAR(30) NULL,
Nazwa2 VARCHAR(30) NULL);

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('PKR', 'Robert', 'Hołdys');

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('MAZ', 'Beata', 'Kowalska');

INSERT INTO NowiKontrahenci (Województwo, Nazwa1, Nazwa2) 
VALUES ('PKR', 'Grażyna', 'Mielniczuk');


----------------------------------------
-- Tabela AmerykaPółnocna
-- Do tej tabeli odwołuje się rozdział 8
----------------------------------------


DROP TABLE IF EXISTS AmerykaPółnocna;

CREATE TABLE AmerykaPółnocna
(IDMiasta INT NOT NULL,
Kraj VARCHAR(6) NULL,
Stan VARCHAR (8) NULL,
Prowincja VARCHAR (7) NULL,
Miasto VARCHAR (30) NULL);

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (1, 'USA', 'Vermont', ' ', 'Burlington');

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (2, 'Kanada', ' ', 'Quebec', 'Montreal');

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (3, 'USA', 'Arizona', ' ', 'Tucson');

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (4, 'USA', 'Arizona', ' ', 'Phoenix');

INSERT INTO AmerykaPółnocna (IDMiasta, Kraj, Stan, Prowincja, Miasto) 
VALUES (5, 'Kanada', ' ', 'Alberta', 'Edmonton');


----------------------------------------
-- Tabela Żywność
-- Do tej tabeli odwołuje się rozdział 4
----------------------------------------


DROP TABLE IF EXISTS Żywność;

CREATE TABLE Żywność
(IDProduktu INT NOT NULL,
Produkt VARCHAR(30) NULL,
Kaloryczność INT NULL);

INSERT INTO Żywność (IDProduktu, Produkt)
VALUES (1, 'Mleko o obniżonej zawartości tłuszczu');

INSERT INTO Żywność (IDProduktu, Produkt, Produkt);
VALUES (2, 'Woda', 0);

INSERT INTO Żywność (IDProduktu, Produkt, Kaloryczność)
VALUES (3, 'Mleko odtłuszczone', 90);

INSERT INTO Żywność (IDProduktu, Produkt, Kaloryczność)
VALUES (3, 'Mleko pełnotłuste', 150);


------------------------------------------------------------
-- Tabela Zamówienia
-- Do tej tabeli odwołują się rozdziały 1, 11 12, 13 oraz 15
------------------------------------------------------------


DROP TABLE IF EXISTS Zamówienia;

CREATE TABLE Zamówienia
(IDZamówienia INT NOT NULL,
IDKlienta INT NOT NULL,
DataZamówienia DATE NULL,
KwotaZamówienia FLOAT NULL);

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (1, 1, '2021-09-01', 10);

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (2, 2, '2021-09-02', 12.5);

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (3, 2, '2021-09-03', 18);

INSERT INTO Zamówienia (IDZamówienia, IDKlienta, DataZamówienia, KwotaZamówienia)
VALUES (4, 3, '2021-09-15', 20);


-----------------------------------------
-- Tabela Kadry
-- Do tej tabeli odwołuje się rozdział 13
-----------------------------------------


DROP TABLE IF EXISTS Kadry;

CREATE TABLE Kadry
(IDPracownika INT NOT NULL,
Pracownik VARCHAR(30) NULL,
IDPrzełożonego INT NULL);

INSERT INTO Kadry (IDPracownika, Pracownik) 
VALUES (1, 'Zuzanna Kowalska');

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (2, 'Luiza Warecka', 1);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (3, 'Robert Pieczyński', 1);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (4, 'Sebastian Feldman', 1);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (5, 'Karolina Białek', 2);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (6, 'Joanna Borecka', 2);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (7, 'Juliusz Morawski', 3);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (8, 'Anna Adamska', 4);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (9, 'Jacek Śpiewak', 4);

INSERT INTO Kadry (IDPracownika, Pracownik, IDPrzełożonego) 
VALUES (10, 'Amelia Wojnacka', 5);


----------------------------------------
-- Tabela Produkty
-- Do tej tabeli odwołuje się rozdział 7
----------------------------------------


DROP TABLE IF EXISTS Produkty;

CREATE TABLE Produkty
(IDProduktu INT NOT NULL,
Opis VARCHAR(30) NULL,
Waga INT NULL);

INSERT INTO Produkty (IDProduktu, Opis)
VALUES (1, 'Drukarka A');

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (2, 'Drukarka B', 0);

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (3, 'Monitor C', 7);

INSERT INTO Produkty (IDProduktu, Opis, Waga)
VALUES (4, 'Laptop D', 11);


----------------------------------------
-- Tabela RejestrZamówień
-- Do tej tabeli odwołuje się rozdział 7
----------------------------------------


DROP TABLE IF EXISTS RejestrZamówień;

CREATE TABLE RejestrZamówień
(IDZamówienia INT NOT NULL,
Klient VARCHAR(30) NULL,
Województwo VARCHAR (30) NULL,
ZakupionaIlość INT NULL,
CenaZaSztukę FLOAT NULL);

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (1, 'Andrzej Lipkowski', 'pomorskie', 4, 2.5);

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (2, 'Karolina Bielska', 'mazowieckie', 10, 1.25);

INSERT INTO RejestrZamówień (IDZamówienia, Klient, Województwo, ZakupionaIlość, CenaZaSztukę) 
VALUES (3, 'Janusz Solecki', 'wielkopolskie', 5, 4);


------------------------------------------------
-- Tabela Zwroty
-- Do tej tabeli odwołują się rozdziały 12 i  13
------------------------------------------------


DROP TABLE IF EXISTS Zwroty;

CREATE TABLE Zwroty
(IDZwrotu INT NOT NULL,
IDZamówienia INT NULL,
DataZwrotu DATE NULL,
KwotaZwrotu FLOAT NULL);

INSERT INTO Zwroty (IDZwrotu, IDZamówienia, DataZwrotu, KwotaZwrotu) 
VALUES (1, 1, '2021-09-02', 5);

INSERT INTO Zwroty (IDZwrotu, IDZamówienia, DataZwrotu, KwotaZwrotu) 
VALUES (2, 3, '2021-09-18', 18);


-----------------------------------------
-- Tabela PowiązanaTabela
-- Do tej tabeli odwołuje się rozdział 18
-----------------------------------------


DROP TABLE IF EXISTS PowiązanaTabela;

CREATE TABLE PowiązanaTabela
(PierwszaKolumna INT NOT NULL PRIMARY KEY);


-----------------------------------------
-- Tabela ZwrotyTowarów
-- Do tej tabeli odwołuje się rozdział 15
-----------------------------------------


DROP TABLE IF EXISTS ZwrotyTowarów;

CREATE TABLE ZwrotyTowarów
(IDZwrotu INT NOT NULL,
IDKlienta INT NOT NULL,
DataZwrotu DATE NULL,
KwotaZwrotu FLOAT NULL);

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (1, 1, '2021-09-10', 2);

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (2, 2, '2021-09-15', 15);

INSERT INTO ZwrotyTowarów (IDZwrotu, IDKlienta, DataZwrotu, KwotaZwrotu) VALUES
VALUES (3, 3, '2021-09-28', 3);


--------------------------------------------------
-- Tabela Sprzedaż
-- Do tej tabeli odwołują się rozdziały 3, 6, i 11
--------------------------------------------------


DROP TABLE IF EXISTS Sprzedaż;

CREATE TABLE Sprzedaż
(IDSprzedaży INT NOT NULL,
ImięKlienta VARCHAR(30) NULL,
NazwiskoKlienta VARCHAR(30) NULL,
ZakupionaIlość INT NULL,
CenaZaSztukę FLOAT NULL);

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę);
VALUES (1, 'Andrzej', 'Lipkowski', 4, 2.5);

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę);
VALUES (2, 'Karolina', 'Bielska', 10, 1.25);

INSERT INTO Sprzedaż (IDSprzedaży, ImięKlienta, NazwiskoKlienta, ZakupionaIlość, CenaZaSztukę);
VALUES (3, 'Janusz', 'Solecki', 5, 4);


----------------------------------------
-- Tabela HistoriaSprzedaży
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


DROP TABLE IF EXISTS HistoriaSprzedaży;

CREATE TABLE HistoriaSprzedaży
(IDHistorii INT NOT NULL,
IDKlienta VARCHAR(30) NULL,
DataSprzedaży Date NULL,
WartośćSprzedaży FLOAT NULL);

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (1, 100, '2021-12-01', 23);

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (2, 101, '2021-12-02', 11);

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (3, 100, '2021-12-05', 81);

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (4, 101, '2021-12-05', 40);

INSERT INTO HistoriaSprzedaży (IDHistorii, IDKlienta, DataSprzedaży, WartośćSprzedaży) 
VALUES (5, 101, '2021-12-06', 33);


----------------------------------------
-- Tabela Sprzedawcy
-- Do tej tabeli odwołuje się rozdział 5
----------------------------------------


DROP TABLE IF EXISTS Sprzedawcy;

CREATE TABLE Sprzedawcy
(IDSprzedawcy INT NOT NULL,
ImięSprzedawcy VARCHAR(30) NULL,
NazwiskoSprzedawcy VARCHAR(30) NULL);

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (1, 'Grzegorz', 'Dubiel');

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (2, 'Karolina', 'Dubiel');

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (3, 'Natalia', 'Lipska');

INSERT INTO Sprzedawcy (IDSprzedawcy, ImięSprzedawcy, NazwiskoSprzedawcy)
VALUES (4, 'Justyna', 'Kowalska');


-----------------------------------------
-- TabelaPomocnicza
-- Do tej tabeli odwołuje się rozdział 18
-----------------------------------------


DROP TABLE IF EXISTS TabelaPomocnicza;
 
CREATE TABLE TabelaPomocnicza
(IDPomocniczy INT NULL);

-- Poniższa instrukcja INSERT umieszcza w tabeli 1000 wierszy przy użyciu złączenia CROSS JOIN

INSERT into TabelaPomocnicza (IDPomocniczy)
SELECT A.x * 100 + B.x * 10 + C.x AS y FROM
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS A
CROSS JOIN
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION select 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS B
CROSS JOIN
(SELECT 0 AS x UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 
UNION SELECT 5 UNION select 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS C;


-----------------------------------------
-- Tabela RozmiaryKoszulek
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


DROP TABLE IF EXISTS RozmiaryKoszulek;

CREATE TABLE RozmiaryKoszulek
(IDRozmiaru INT NOT NULL,
Rozmiar VARCHAR(10) NULL);

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (1, 'Mały');

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (2, 'Średni');

INSERT INTO RozmiaryKoszulek (IDRozmiaru, Rozmiar) 
VALUES (3, 'Duży');


----------------------------------------
-- Tabela Utwory
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


DROP TABLE IF EXISTS Utwory;

CREATE TABLE Utwory 
(IDUtworu INT NOT NULL,
Wykonawca VARCHAR(30) NULL,
Album VARCHAR(30) NULL,
Tytuł VARCHAR(30) NULL);

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (1, 'The Beatles', 'Let It Be', 'Across the Universe');

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (2, 'The Beatles', 'Let It Be', 'Get Back');

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (3, 'The Beatles', 'Abbey Road', 'Here Comes the Sun');

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (4, 'Stevie Wonder', 'Innervisions', 'Living for the City');

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (5, 'Stevie Wonder', 'Songs in the Key of Life', 'Isn''t She Lovely');

INSERT INTO Utwory (IDUtworu, Wykonawca, Album, Tytuł)
VALUES (6, 'Paul McCartney', 'Band on the Run', 'Let Me Roll It');


-----------------------------------------
-- Tabela KluczoweDaty
-- Do tej tabeli odwołuje się rozdział 12
-----------------------------------------


DROP TABLE IF EXISTS KluczoweDaty;

CREATE TABLE KluczoweDaty
(OstatniaDataPrzetwarzania DATE NULL,
BieżącyRokPodatkowy INT NULL,
BieżącyKwartałPodatkowy VARCHAR(10) NULL);

INSERT INTO KluczoweDaty (OstatniaDataPrzetwarzania, BieżącyRokPodatkowy, BieżącyKwartałPodatkowy) 
VALUES ('2021-09-15', 2021, 'Q3');


----------------------------------------
-- Tabela Akcje
-- Do tej tabeli odwołuje się rozdział 9
----------------------------------------


DROP TABLE IF EXISTS Stocks;

CREATE TABLE Akcje
(Skrót VARCHAR(10) NOT NULL,
NazwaFirmy VARCHAR(30) NULL,
NazwaGiełdy VARCHAR(10) NULL,
StosunekCenyDoZysku INT NULL);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('AAPL', 'Apple Inc', 'NASDAQ', 36);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('AMZN', 'Amazon.com Inc', 'NASDAQ', 80);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('BAC', 'Bank of America Corporation', 'NYSE', 17);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('GE', 'General Electric Company', 'NYSE', 23);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('GOOG', 'Alphabet Inc', 'NASDAQ', 40);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('HSY', 'The Hershey Company', 'NYSE', 27);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('KO', 'The Coca-Cola Company', 'NYSE', 33);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MCD', 'McDonalds Corporation', 'NYSE', 36);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MMM', '3M Company', 'NYSE', 22);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('MSFT', 'Microsoft Corporation', 'NASDAQ', 39);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('NFLX', 'Netflix Inc', 'NASDAQ', 61);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('ORCL', 'Oracle Corporation', 'NASDAQ', 18);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('SBUX', 'Starbucks Corporation', 'NASDAQ', 205);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('TGT', 'Target Corporation', 'NYSE', 22);

INSERT INTO Akcje (Skrót, NazwaFirmy, NazwaGiełdy, StosunekCenyDoZysku)
VALUES ('WMT', 'Wal-Mart Inc', 'NYSE', 30);


----------------------------------------
-- Tabela SortowanieDanych
-- Do tej tabeli odwołuje się rozdział 5
----------------------------------------


DROP TABLE IF EXISTS SortowanieDanych;

CREATE TABLE SortowanieDanych
(IDTabeli INT NOT NULL,
DaneZnakowe VARCHAR(30) NULL,
DaneLiczbowe INT NULL);

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe, DaneLiczbowe)
VALUES (1, '23', 23);

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe, DaneLiczbowe)
VALUES (2, '5', 5);

INSERT INTO SortowanieDanych (IDTabeli, DaneZnakowe)
VALUES (3, 'Pies');

INSERT INTO SortowanieDanych (IDTabeli, DaneLiczbowe)
VALUES (4, -6);


-----------------------------------------
-- Tabela Transakcje
-- Do tej tabeli odwołuje się rozdział 14
-----------------------------------------


DROP TABLE IF EXISTS Transakcje;

CREATE TABLE Transakcje
(IDTransakcji INT NOT NULL,
UserID INT NULL,
DataTransakcji DATE NULL,
KwotaTransakcji FLOAT NULL,
SposóbZapłaty VARCHAR(10) NULL);

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (1, 1, '2021-10-11', 22.5, 'Gotówka');

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (2, 2, '2021-10-12', 11.5, 'Karta kredytowa');

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (3, 2, '2021-10-15', 5, 'Karta kredytowa');

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (4, 2, '2021-10-16', 6, 'Gotówka');

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (5, 3, '2021-10-16', 7, 'Karta kredytowa');

INSERT INTO Transakcje (IDTransakcji, UserID, DataTransakcji, KwotaTransakcji, SposóbZapłaty)
VALUES (6, 3, '2021-10-17', 11, 'Karta kredytowa');


-----------------------------------------
-- Tabela Użytkownicy
-- Do tej tabeli odwołuje się rozdział 14
-----------------------------------------


DROP TABLE IF EXISTS Użytkownicy;

CREATE TABLE Użytkownicy
(IDUżytkownika INT NOT NULL,
NazwaUżytkownika VARCHAR(30) NULL);

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (1, 'Cecylia Romanowska');

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (2, 'Elżbieta Borecka');

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (3, 'Romuald Gawliński');

INSERT INTO Użytkownicy (IDUżytkownika, NazwaUżytkownika)
VALUES (4, 'Anna Wodecka');


-----------------------------------------
-- Tabela Dostawcy
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


DROP TABLE IF EXISTS Dostawcy;

CREATE TABLE Dostawcy
(IDDostawcy INT NOT NULL,
Województwo VARCHAR(10) NULL,
KodPocztowy VARCHAR(10) NULL);

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (1, 'POM', '77-131');

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (2, 'LBL', '21-515');

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (3, 'MAZ', '09-166');

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (4, 'PKR', '36-221');

INSERT INTO Dostawcy (IDDostawcy, Województwo, KodPocztowy) 
VALUES (5, 'ŁDZ', '97-407');


-----------------------------------------
-- Tabela ZmianaDanychDostawców
-- Do tej tabeli odwołuje się rozdział 17
-----------------------------------------


DROP TABLE IF EXISTS ZmianaDanychDostawców;

CREATE TABLE ZmianaDanychDostawców
(IDZmiany INT NOT NULL,
IDDostawcy INT NULL,
Województwo VARCHAR(10) NULL,
KodPocztowy VARCHAR(10) NULL);

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (1, 1, 'POM', '77-121');

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (2, 2, 'LBL', '21-516');

INSERT INTO ZmianaDanychDostawców (IDZmiany, IDDostawcy, Województwo, KodPocztowy) 
VALUES (3, 5, 'ZPM', '72-427');
